package com.gddb.xwj.common.mybatis;

import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Param;

/**
 * @Author xuwj
 * @Description: 自定义
 * @CreateTime 2020/1/9 23:13
 * @Version 1.0
 */
public interface BaseDao {
    /**
     * @InsertProvider 注解作用 自定义sql语句
     * @@Options 自动生成主键，采用id自增策略
     * @param obj   字段对象
     * @param table 目标表
     */
    @InsertProvider(type = BaseProvider.class, method = "save")
    //@Options(useGeneratedKeys = true, keyProperty = "id")
    public void save(@Param("obj") Object obj, @Param("table") String table);

    /**
     * @InsertProvider 注解作用 自定义sql语句
     * @param obj 字段对象
     * @param table 目标表
     * @param id 主键
     */
    @InsertProvider(type = BaseProvider.class, method = "update")
    public void update(@Param("obj") Object obj, @Param("table") String table, @Param("id") Long id);
}
